package cn.fastoo.common.dao.system;


import cn.fastoo.common.entity.system.UserBaseInfo;
import cn.fastoo.common.sampleframe.dao.FastDao;
import cn.fastoo.common.sampleframe.dao.impl.FastDaoImpl;
import cn.fastoo.common.sampleframe.search.Search;
import org.springframework.stereotype.Component;

import java.util.List;


@Component
public class UserBaseInfoDao extends FastDaoImpl<UserBaseInfo> implements FastDao<UserBaseInfo> {

    public UserBaseInfo findByLoginName(String loginName){
        return findOne(new Search().addSearchFilter("EQ_loginName",loginName));
    }

    public UserBaseInfo insertWithCheck(String loginName){
        UserBaseInfo userBaseInfo = findByLoginName(loginName);
        if(userBaseInfo!=null){
            return userBaseInfo;
        }
        userBaseInfo = new UserBaseInfo();
        userBaseInfo.setLoginName(loginName);
        userBaseInfo.setName(loginName);
        insert(userBaseInfo);
        return userBaseInfo;
    }

    public void updateLanguge(String languge,String loginName){
        final String sql = "update admin_system_user set languge = ? where login_name = ?";
        jt.update( sql,languge,loginName);
    }

    public Long getUserOrganId(Long id){
        return findById(id).getAdminSystemOrganId();
    }

    public List<UserBaseInfo> findGuwen(){
        return find(new Search());
    }
}
